Downstream error handling in manufacturing systems

ABSTRACT

A method, computer program product, and system for handling an error that occurs during processing of a job in a manufacturing system are provided. The method, computer program product, and system provide for determining a first location in the job where a first subsystem of the manufacturing system is currently processing, identifying a second location in the job where a second subsystem of the manufacturing system completed processing before the error occurred at the second subsystem, the second subsystem being connected in series to and downstream from the first subsystem, and providing a controller-generated repositioning instruction for the first subsystem based on the first location and the second location.

FIELD OF THE INVENTION

The present invention relates generally to manufacturing systems. Moreparticularly, the present invention is directed to handling ofdownstream errors in manufacturing systems.

BACKGROUND OF THE INVENTION

A manufacturing system consisting of multiple subsystems can bedifficult to manage when an error occurs in a subsystem that isdownstream from another subsystem that controls the input data. As anexample, consider a document manufacturing system consisting of acontinuous-forms printer with inline slitter, merger and stacker units,and an offline binding machine. If a paper jam occurs in the printer,the printer controller can restart printing with the sheet that wasjammed once the jam has been cleared. However, if an error occurs laterin the system, in the stacking unit or in the binding machine forexample, the printer controller will not be aware of the sheet thatcaused the error or that an error even occurred. Instead, the printercontroller may be actively printing a sheet that is hundreds of sheetsbeyond where the error occurred.

One solution to this problem requires an operator to cancel the job,discard all its sheets, and then reprint the full job. This is extremelywasteful of paper, toner, and other supplies. Another solution has theoperator canceling the current job, retaining all sheets up to theerror, creating and printing a new job with just the remaining sheets,and merging the original sheets with the sheets from the new job.Drawbacks of this solution are that it adds the complexity of a newprint job and the problems associated with merging the new results withthe old. In addition, many systems do not provide an easy way for anoperator to create a new job containing only the remaining sheets.

A third solution requires the operator to manually calculate the numberof sheets that have printed between the error sheet and the sheetcurrently printing at the printer and then instruct the printercontroller to reset the print datastream to the error sheet position andbegin printing again. This solution, however, requires an operator toperform a complicated calculation that is often too difficult for theoperator to perform correctly, resulting in trial and error, whichwastes materials and time.

Accordingly, there is a need for a way to address errors that occurdownstream in a manufacturing system without requiring a new job to becreated or an operator to guess where to restart the job, which resultsin excessive waste of time and materials. The present inventionaddresses such a need.

SUMMARY OF THE INVENTION

A method, computer program product, and system for handling an errorthat occurs during processing of a job in a manufacturing system areprovided. The method, computer program product, and system provide fordetermining a first location in the job where a first subsystem of themanufacturing system is currently processing, identifying a secondlocation in the job where a second subsystem of the manufacturing systemcompleted processing before the error occurred at the second subsystem,the second subsystem being connected in series to and downstream fromthe first subsystem, and providing a controller-generated repositioninginstruction for the first subsystem based on the first location and thesecond location.

By identifying the location in the job where the second subsystemcompleted processing before the error occurred, the loop between whatthe first subsystem has completed processing and where it needs torestart is closed. This not only reduces the amount of wasted time andmaterial associated with canceling the job in its entirety and having toreprocess the whole job or requiring an operator to guess where torestart the job through trial and error, but it also decreases thecomplexity of creating a new job and the problems associated therewith.

Particular implementations can include a controller in the firstsubsystem to determine the first location in the job where the firstsubsystem is currently processing. In addition, a controller in thesecond subsystem can be included to identify the second location in thejob where the second subsystem completed processing before the erroroccurred.

The manufacturing system can also include one or more additionalsubsystems connected in series to the first subsystem and the secondsubsystem. Each of the one or more additional subsystems may be upstreamfrom the first subsystem, downstream from the second subsystem, or inbetween the first subsystem and the second subsystem.

In some embodiments, the manufacturing system is a documentmanufacturing system, the job is a print job, and a location in the jobis a page in the print job. When the manufacturing system is a documentmanufacturing system, determining a first location in the job where thefirst subsystem is currently processing includes discovering a firstpage in the print job where the first subsystem is currently processingand identifying a second location in the job where the second subsystemcompleted processing before the error occurred includes locating asecond page in the print job where the second subsystem completedprocessing before the error occurred. Each page in the print job mayhave a unique identifier.

In further embodiments, providing a controller-generated repositioninginstruction for the first subsystem based on the first location and thesecond location includes generating a repositioning command for thefirst subsystem at a controller in a third subsystem of themanufacturing system based on the first location and the secondlocation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a process flow of a method for handling an error that occursduring processing of a job in a manufacturing system according to anaspect of the invention.

FIG. 2 illustrates a manufacturing system according to one embodiment ofthe invention.

FIG. 3 depicts a flowchart of a method for handling an error that occursduring processing of a print job in a document manufacturing systemaccording to an implementation of the invention.

FIG. 4 shows a manufacturing system according to another embodiment ofthe invention.

FIG. 5 is a block diagram of a data processing system with whichembodiments of the present invention can be implemented.

DETAILED DESCRIPTION

The present invention relates generally to manufacturing systems andmore particularly to downstream error handling in manufacturing systems.The following description is presented to enable one of ordinary skillin the art to make and use the invention and is provided in the contextof a patent application and its requirements. Various modifications tothe preferred implementations and the generic principles and featuresdescribed herein will be readily apparent to those skilled in the art.Thus, the present invention is not intended to be limited to theimplementations shown, but is to be accorded the widest scope consistentwith the principles and features described herein.

FIG. 1 depicts a process 100 for handling an error that occurs duringprocessing of a job in a manufacturing system. At 102, a first locationin the job where a first subsystem of the manufacturing system iscurrently processing is determined. A second location in the job where asecond subsystem of the manufacturing system completed processing beforethe error occurred at the second subsystem is identified at 104. In theembodiment, the second subsystem is connected in series to anddownstream from the first subsystem. A controller-generatedrepositioning instruction for the first subsystem is then provided basedon the first location and the second location (106).

In one implementation, providing a controller-generated repositioninginstruction for the first subsystem based on the first location and thesecond location includes generating a repositioning command for thefirst subsystem at a controller in a third subsystem of themanufacturing system based on the first location and the secondlocation. The loop between what the first subsystem has completedprocessing and where it needs to restart is closed by identifying thelocation in the job where the second subsystem completed processingbefore the error occurred. This is less complex than having to create anew job and deal with the problems associated with merging the old andnew results. Additionally, the amount of time and material wasted isreduced because the job does not need to be cancelled and reprocessed inits entirety and an operator does not need to guess a restarting pointthrough trial and error.

Illustrated in FIG. 2 is a manufacturing system 200. Manufacturingsystem 200 includes a first subsystem 202 with a controller 204, asecond subsystem 206 with a controller 208, and a third subsystem 210with a controller 212. Second subsystem 206 is connected in series toand downstream from first subsystem 202. Third subsystem 210 isconnected to be first subsystem 202 and second subsystem 206.

In the embodiment, a job 214 is submitted to manufacturing system 200.As first subsystem 202 completes processing each location, part, point,portion, or segment of job 214, for instance, a sheet of paper or acomponent, that segment of job 214 is passed to second subsystem 206 forfurther processing. In FIG. 2, any error that occurs on first subsystem202 or second subsystem 206 will be detected by controllers 204 and 208,respectively. In other implementations, an error on subsystem 202 or 206may be detected by third subsystem 210 or an operator (not shown) ofmanufacturing system 200.

When an error is detected in second subsystem 206 by controller 208,controller 208 may notify third subsystem 210 of the error. In response,third subsystem 210 may request controller 204 to determine a firstlocation in job 214 where first subsystem 202 is currently processingand controller 208 to identify a second location in job 214 where secondsubsystem 206 completed processing before the error occurred.Controllers 204 and 208 can then forward that information to thirdsubsystem 210.

Finding the first location and the second location may be accomplishedby uniquely identifying each location in job 214. For example, a barcodemay be used to identify each location. By incorporating a barcodescanner into subsystems 202 and 206, subsystems 202 and 206 can scan thebarcode on each location in job 214 as the location is processed.

In other embodiments, after controller 208 detects an error in secondsubsystem 206, controller 208 could identify the second location in job214 where second subsystem 206 completed processing before the erroroccurred and send that information along with the error notification tothird subsystem 210.

Determining the first location and identifying the second location canalso be accomplished manually. For instance, if each location in job 214has a unique identifier associated with it, such as a barcode or anumber, an operator can scan the barcode or input the number of thefirst location in job 214 where first subsystem 202 is currentlyprocessing and the second location in job 214 where second subsystem 206completed processing before the error occurred through a scanner,keypad, or some other input device. In addition, the operator candirectly input the first and second locations in job 214 directly intothird subsystem 210.

Knowing the first and second locations allows third subsystem 210 toprovide a controller-generated repositioning instruction for firstsubsystem 202. If first subsystem 202 is still processing job 214, itwill be paused and then restarted at a location in job 214 where theerror occurred in second subsystem 206 using the repositioninginstruction from third subsystem 210. In another aspect of theinvention, controller 212 in third subsystem can generate arepositioning command for first subsystem 202 based on the firstlocation and the second location. This reposition command can then beused to restart first subsystem 202.

FIG. 3 shows a process 300 for handling an error that occurs duringprocessing of a print job in a document manufacturing system. At 302, afirst page in the print job where a first subsystem of the documentmanufacturing system is currently processing is discovered. A secondpage in the print job where a second subsystem of the documentmanufacturing system completed processing before the error occurred atthe second subsystem is located at 304. A repositioning command for thefirst subsystem is then generated at a controller in a third subsystemof the document manufacturing system based on the first page and thesecond page (306).

In an implementation of the invention, each page in the print job has aunique identifier, such as a barcode or a number. Since some documentmanufacturing systems may print multiple pages on one sheet of paper,for example, two pages side-by-side on a single sheet of paper, therepositioning command generated may instruct the first subsystem torestart from a specific sheet in the print job rather than from aspecific page. And although process 300 has been described in terms of adocument manufacturing system, the present invention is applicable toany manufacturing system with multiple subsystems, such as a componentmanufacturing system, a device manufacturing system, a foodmanufacturing system, or a clothing manufacturing system.

Depicted in FIG. 4 is a manufacturing system 400. Manufacturing system400 includes n number of subsystems and a central controller 418. Onlysubsystem (1) 402 with controller 404, subsystem (2) 406 with controller408, subsystem (n−1) 410 with controller 412, and subsystem n 414 withcontroller 416 are shown. In the embodiment, the n number of subsystemsare connected in series.

When a job 420 is submitted to manufacturing system 400, subsystem (1)402 begins processing job 420. As subsystem (1) 402 finishes processinga portion of job 420, that portion is forwarded along to subsystem (2)406 for further processing. And as subsystem (2) 406 finishes processingthat portion, subsystem (2) 406 forwards it along to the next subsystemand so forth until that portion of job 420 reaches subsystem (n) 414 forfinal processing.

In the implementation of FIG. 4, central controller 418 monitors all ofthe subsystems in manufacturing system 400. Thus, if an error occurs onsubsystem (n−1) 410, it can detect the error and decide which subsystemupstream from subsystem (n−1) 410 needs to be repositioned in light ofthe error. Once central controller 418 decides which upstream subsystemneeds to be repositioned, it will request the controller of thatsubsystem to determine a first location in job 420 where the subsystemis currently processing.

For instance, if central controller 418 decides that subsystem (2) 406has to be repositioned as a result of the error that occurred onsubsystem (n−1) 410, it can request controller 408 to determine a firstlocation in job 420 where subsystem (2) 406 is currently processing andcontroller 412 to identify a second location in job 420 where subsystem(n−1) 410 completed processing before the error occurred. Centralcontroller 418 can then provide a repositioning instruction forsubsystem (2) 406 based on the first and second locations.

Thereafter, subsystem (2) 406 can restart job 420 at the location wherethe error occurred in subsystem (n−1) 410. If any of the subsystems inmanufacturing system 400 were still processing job 420 when the erroroccurred, those subsystems may need to be paused before restarting job420 at subsystem (2) 406. Additionally, error detection, in otherembodiments, may still be left up to the individual controllers in eachsubsystem. Thus, the individual controllers may automatically find thelocation in job 420 where the particular subsystem completed processingbefore the error occurred and then forward that information to centralcontroller 418.

The invention can take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment containing both hardwareand software elements. In one aspect, the invention is implemented insoftware, which includes, but is not limited to, firmware, residentsoftware, microcode, etc.

Furthermore, the invention can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer-readable medium can be any apparatus thatcan contain, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device.

The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk, and an optical disk. Current examples of opticaldisks include DVD, compact disk—read-only memory (CD-ROM), and compactdisk—read/write (CD-R/W).

FIG. 5 illustrates a data processing system 500 suitable for storingand/or executing program code. Data processing system 500 includes aprocessor 502 coupled to memory elements 504 a-b through a system bus506. In other embodiments, data processing system 500 may include morethan one processor and each processor may be coupled directly orindirectly to one or more memory elements through a system bus.

Memory elements 504 a-b can include local memory employed during actualexecution of the program code, bulk storage, and cache memories thatprovide temporary storage of at least some program code in order toreduce the number of times the code must be retrieved from bulk storageduring execution. As shown, input/output or I/O devices 508 a-b(including, but not limited to, keyboards, displays, pointing devices,etc.) are coupled to data processing system 500. I/O devices 508 a-b maybe coupled to data processing system 500 directly or indirectly throughintervening I/O controllers (not shown).

In the embodiment, a network adapter 510 is coupled to data processingsystem 500 to enable data processing system 500 to become coupled toother data processing systems or remote printers or storage devicesthrough communication link 512. Communication link 512 can be a privateor public network. Modems, cable modems, and Ethernet cards are just afew of the currently available types of network adapters.

Various implementations for handling downstream errors in manufacturingsystems have been described. Nevertheless, one of ordinary skill in theart will readily recognize that various modifications may be made to theimplementations, and any variations would be within the spirit and scopeof the present invention. For example, the above-described process flowsare described with reference to a particular ordering of processactions. However, the ordering of many of the described process actionsmay be changed without affecting the scope or operation of theinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe following claims.

1. A method of handling an error that occurs during processing of a jobin a manufacturing system, the method comprising: determining a firstlocation in the job where a first subsystem of the manufacturing systemis currently processing in response to detecting the error at a secondsubsystem; identifying a second location in the job where the secondsubsystem of the manufacturing system completed processing before theerror occurred at the second subsystem, the second subsystem beingconnected in series to and downstream from the first subsystem toprocess the second location after the first subsystem has completedprocessing the second location; and providing a controller-generatedrepositioning instruction for the first subsystem based on the firstlocation and the second location to restart at a location in the jobwhere the error occurred in the second subsystem.
 2. The method of claim1, wherein the manufacturing system comprises one or more additionalsubsystems connected in series to the first subsystem and the secondsubsystem, wherein each of the one or more additional subsystems isupstream from the first subsystem, downstream from the second subsystem,or in between the first subsystem and the second subsystem.
 3. Themethod of claim 1, wherein a controller in the first subsystemdetermines the first location in the job where the first subsystem iscurrently processing.
 4. The method of claim 1, wherein a controller inthe second subsystem identifies the second location in the job where thesecond subsystem completed processing before the error occurred.
 5. Themethod of claim 1, wherein providing the controller-generatedrepositioning instruction for the first subsystem based on the firstlocation and the second location comprises: generating a repositioningcommand for the first subsystem at a controller in a third subsystem ofthe manufacturing system based on the first location and the secondlocation.
 6. The method of claim 1, wherein the manufacturing system isa document manufacturing system, the job is a print job, and a locationin the job is a page in the print job.
 7. The method of claim 6, whereindetermining the first location in the job where the first subsystem iscurrently processing comprises: discovering a first page in the printjob where the first subsystem is currently processing.
 8. The method ofclaim 6, wherein identifying the second location in the job where thesecond subsystem completed processing before the error occurredcomprises: locating a second page in the print job where the secondsubsystem completed processing before the error occurred.
 9. The methodof claim 6, wherein each page in the print job has a unique identifier.10. A computer program product comprising a computer readable medium,the computer readable medium including a computer readable program forhandling an error that occurs during processing of a job in amanufacturing system, wherein the computer readable program whenexecuted on a computer causes the computer to: determine a firstlocation in the job where a first subsystem of the manufacturing systemis currently processing in response to detecting the error at a secondsubsystem; identify a second location in the job where the secondsubsystem of the manufacturing system completed processing before theerror occurred at the second subsystem, the second subsystem beingconnected in series to and downstream from the first subsystem toprocess the second location after the first subsystem has completedprocessing the second location; and provide a controller-generatedrepositioning instruction for the first subsystem based on the firstlocation and the second location to restart at a location in the jobwhere the error occurred in the second subsystem.
 11. The computerprogram product of claim 10, wherein the manufacturing system comprisesone or more additional subsystems connected in series to the firstsubsystem and the second subsystem, wherein each of the one or moreadditional subsystems is upstream from the first subsystem, downstreamfrom the second subsystem, or in between the first subsystem and thesecond subsystem.
 12. The computer program product of claim 10, whereina controller in the first subsystem determines the first location in thejob where the first subsystem is currently processing.
 13. The computerprogram product of claim 10, wherein a controller in the secondsubsystem identifies the second location in the job where the secondsubsystem completed processing before the error occurred.
 14. Thecomputer program product of claim 10, wherein provide thecontroller-generated repositioning instruction for the first subsystembased on the first location and the second location comprises: generatea repositioning command for the first subsystem at a controller in athird subsystem of the manufacturing system based on the first locationand the second location.
 15. The computer program product of claim 10,wherein the manufacturing system is a document manufacturing system, thejob is a print job, and a location in the job is a page in the printjob.
 16. The computer program product of claim 15, wherein determine thefirst location in the job where the first subsystem is currentlyprocessing comprises: discover a first page in the print job where thefirst subsystem is currently processing.
 17. The computer programproduct of claim 15, wherein identify the second location in the jobwhere the second subsystem completed processing before the erroroccurred comprises: locate a second page in the print job where thesecond subsystem completed processing before the error occurred.
 18. Thecomputer program product of claim 15, wherein each page in the print jobhas a unique identifier.
 19. A manufacturing system comprising: a firstsubsystem operable to process a job; a second subsystem connected inseries to and downstream from the first subsystem, the second subsystembeing operable to process the job, wherein the second subsystem isfurther operable to process a portion of the job after the firstsubsystem completes processing the portion of the job; and one or morecontrollers operable to handle an error that occurs during processing ofthe job at the second subsystem, including: determine a first locationin the job where the first subsystem is currently processing in responseto detecting the error at the second subsystem; identify a secondlocation in the job where the second subsystem completed processingbefore the error occurred at the second subsystem; and provide acontroller-generated repositioning instruction for the first subsystembased on the first location and the second location to restart at alocation in the job where the error occurred in the second subsystem.20. The manufacturing system of claim 19, wherein at least one of theone or more controllers is a controller in the first subsystem.
 21. Themanufacturing system of claim 19, wherein at least one of the one ormore controllers is a controller in the second subsystem.
 22. Themanufacturing system of claim 19, further comprising: at least oneaddition subsystem, the at least one additional subsystem beingconnected in series to the first subsystem and the second subsystem,wherein each of the at least one additional subsystem is upstream fromthe first subsystem, downstream from the second subsystem, or in betweenthe first subsystem and the second subsystem.
 23. The manufacturingsystem of claim 22, wherein at least one of the one or more controllersis a controller in the at least one additional subsystem.
 24. Themanufacturing system of claim 19, wherein the manufacturing system is adocument manufacturing system, the job is a print job, and a location inthe job is a page in the print job.
 25. The manufacturing system ofclaim 24, wherein determine the first location in the job where thefirst subsystem is currently processing comprises: discover a first pagein the print job where the first subsystem is currently processing. 26.The manufacturing system of claim 24, wherein identify the secondlocation in the job where the second subsystem completed processingbefore the error occurred comprises: locate a second page in the printjob where the second subsystem completed processing before the erroroccurred.
 27. The manufacturing system of claim 24, wherein each page inthe print job has a unique identifier.
 28. The manufacturing system ofclaim 19, wherein provide the controller-generated repositioninginstruction for the first subsystem based on the first location and thesecond location comprises: generate a repositioning command for thefirst subsystem at a controller in a third subsystem of themanufacturing system based on the first location and the secondlocation.